﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

#pragma warning disable 1591

namespace Microsoft.Bing
{
    /// <summary>
    /// An enumerated value set which describes which supported search feed is to be used.
    /// </summary>
    public enum SearchMedia
    {
        ///Specifies that Web search results are to be returned
        Web = 0,    
        ///Specifies that Image search results are to be returned
        Images = 1, 
        ///Specifies that Video search results are to be returned
        Video = 2,  
        ///Specifies that News search results are to be returned
        News = 3,   
        ///Specifies that Phonebool results are to be returned (Not supported by current Silverlight UI elements for legal reasons)
        Phonebook = 4   
    }

    /// <summary>
    /// An enumerated value set which describes the kind of search result returned by a search
    /// </summary>
    public enum SearchResultKind
    {
        /// Defines a web or HTML search result
        Web = 0,
        /// Defines a raster image search result
        Image = 1,
        /// Defines a news story search result
        News = 2,
        /// Defines a phonebook search result
        Phonebook = 3,
        /// Defines a video search result
        Video = 4
    }

    /// <summary>
    /// Defines an enumerate type which identifies a media type - this is used to differentiate iconic images used to represent the visual
    /// items for the search results.
    /// </summary>
    public enum MediaTypes
    {
        Html = 0,
        Png = 1,
        Jpeg = 2,
        Video = 3,
        WindowsMedia = 4,
        NewsArticle = 5,
        Phonebook = 6,
        GenericImage = 7
    }

    /// <summary>
    /// Defines a set of string constants used to identify news categories - these constants are
    /// a part of the Microsoft Bing Search API.
    /// </summary>
    public class NewsCategories
    {
        public const string BUSINESS = "rt_Business";
        public const string ENTERTAINMENT = "rt_Entertainment";
        public const string HEALTH = "rt_Health";
        public const string POLITICAL = "rt_Political";
        public const string SCIENTIFIC = "rt_Scientific";
        public const string SPORTS = "rt_Sports";
        public const string US = "rt_US";
        public const string WORLD = "rt_World";
        public const string LOCAL = "rt_Local";
        public const string SCIENCE_AND_TECH = "rt_ScienceAndTechnology";
    }

    /// <summary>
    /// Defines a set of string constants used to identify search markets - these constants are
    /// a part of the Microsoft Bing Search API.
    /// </summary>
    public class SearchMarkets
    {
        public const string ARABIC_ARABIA = "ar-XA";
        public const string BULGARIAN_BULGARIA = "bg-BG";
        public const string CZECH_CZECHREPUBLIC = "cs-CZ";
        public const string DANISH_DENMARK = "da-DK";
        public const string GERMAN_AUSTRIA = "de-AT";
        public const string GERMAN_SWITZERLAND = "de-CH";
        public const string GERMAN_GERMANY = "de-DE";
        public const string GREEK_GREECE = "el-GR";
        public const string ENGLISH_AUSTRALIA = "en-AU";
        public const string ENGLISH_CANADA = "en-CA";
        public const string ENGLISH_UNITEDKINGDOM = "en-GB";
        public const string ENGLISH_INDONESIA = "en-ID";
        public const string ENGLISH_IRELAND = "en-IE";
        public const string ENGLISH_INDIA = "en-IN";
        public const string ENGLISH_MALAYSIA = "en-MY";
        public const string ENGLISH_NEWZEALAND = "en-NZ";
        public const string ENGLISH_PHILIPPINES = "en-PH";
        public const string ENGLISH_SINGAPORE = "en-SG";
        public const string ENGLISH_UNITEDSTATES = "en-US";
        public const string ENGLISH_ARABIA = "en-XA";
        public const string ENGLISH_SOUTHAFRICA = "en-ZA";
        public const string SPANISH_ARGENTINA = "es-AR";
        public const string SPANISH_CHILE = "es-CL";
        public const string SPANISH_SPAIN = "es-ES";
        public const string SPANISH_MEXICO = "es-MX";
        public const string SPANISH_UNITEDSTATES = "es-US";
        public const string SPANISH_LATINAMERICA = "es-XL";
        public const string ESTONIAN_ESTONIA = "et-EE";
        public const string FINNISH_FINLAND = "fi-FI";
        public const string FRENCH_BELGIUM = "fr-BE";
        public const string FRENCH_CANADA = "fr-CA";
        public const string FRENCH_SWITZERLAND = "fr-CH";
        public const string FRENCH_FRANCE = "fr-FR";
        public const string HEBREW_ISRAEL = "he-IL";
        public const string CROATIAN_CROATIA = "hr-HR";
        public const string HUNGARIAN_HUNGARY = "hu-HU";
        public const string ITALIAN_ITALY = "it-IT";
        public const string JAPANESE_JAPAN = "ja-JP";
        public const string KOREAN_KOREA = "ko-KR";
        public const string LITHUANIAN_LITHUANIA = "lt-LT";
        public const string LATVIAN_LATVIA = "lv-LV";
        public const string NORWEGIAN_NORWAY = "nb-NO";
        public const string DUTCH_BELGIUM = "nl-BE";
        public const string DUTCH_NETHERLANDS = "nl-NL";
        public const string POLISH_POLAND = "pl-PL";
        public const string PORTUGUESE_BRAZIL = "pt-BR";
        public const string PORTUGUESE_PORTUGAL = "pt-PT";
        public const string ROMANIAN_ROMANIA = "ro-RO";
        public const string RUSSIAN_RUSSIA = "ru-RU";
        public const string SLOVAK_SLOVAKREPUBLIC = "sk-SK";
        public const string SLOVENIAN_SLOVENIA = "sl-SL";
        public const string SWEDISH_SWEDEN = "sv-SE";
        public const string THAI_THAILAND = "th-TH";
        public const string TURKISH_TURKEY = "tr-TR";
        public const string UKRAINIAN_UKRAINE = "uk-UA";
        public const string CHINESE_CHINA = "zh-CN";
        public const string CHINESE_HONGKONG_SAR = "zh-HK";
        public const string CHINESE_TAIWAN = "zh-TW";
    }

    /// <summary>
    /// Defines a set of string constants used to identify supported user interface languages - these constants are
    /// a part of the Microsoft Bing Search API.
    /// </summary>
    public class UILanguages
    {
        public const string Afar = "aa";
        public const string Abkhazian = "ab";
        public const string Avestan = "ae";
        public const string Afrikaans = "af";
        public const string Akan = "ak";
        public const string Amharic = "am";
        public const string Aragonese = "an";
        public const string Arabic = "ar";
        public const string Assamese = "as";
        public const string Avaric = "av";
        public const string Aymara = "ay";
        public const string Azerbaijani = "az";
        public const string Bashkir = "ba";
        public const string Belarusian = "be";
        public const string Bulgarian = "bg";
        public const string Bihari = "bh";
        public const string Bislama = "bi";
        public const string Bambara = "bm";
        public const string Bengali = "bn";
        public const string Tibetan = "bo";
        public const string Breton = "br";
        public const string Bosnian = "bs";
        public const string Catalan = "ca";
        public const string Chechen = "ce";
        public const string Chamorro = "ch";
        public const string Corsican = "co";
        public const string Cree = "cr";
        public const string Czech = "cs";
        public const string ChurchSlavic = "cu";
        public const string Chuvash = "cv";
        public const string Welsh = "cy";
        public const string Danish = "da";
        public const string German = "de";
        public const string Divehi = "dv";
        public const string Dzongkha = "dz";
        public const string Ewe = "ee";
        public const string Greek = "el";
        public const string English = "en";
        public const string Esperanto = "eo";
        public const string Spanish = "es";
        public const string Estonian = "et";
        public const string Basque = "eu";
        public const string Persian = "fa";
        public const string Fulah = "ff";
        public const string Finnish = "fi";
        public const string Fijian = "fj";
        public const string Faroese = "fo";
        public const string French = "fr";
        public const string WesternFrisian = "fy";
        public const string Irish = "ga";
        public const string ScottishGaelic = "gd";
        public const string Galician = "gl";
        public const string Guaraní = "gn";
        public const string Gujarati = "gu";
        public const string Manx = "gv";
        public const string Hausa = "ha";
        public const string Hebrew = "he";
        public const string Hindi = "hi";
        public const string HiriMotu = "ho";
        public const string Croatian = "hr";
        public const string Haitian = "ht";
        public const string Hungarian = "hu";
        public const string Armenian = "hy";
        public const string Herero = "hz";
        public const string Interlingua = "ia";
        public const string Indonesian = "id";
        public const string Interlingue = "ie";
        public const string Igbo = "ig";
        public const string SichuanYi = "ii";
        public const string Inupiaq = "ik";
        public const string Ido = "io";
        public const string Icelandic = "is";
        public const string Italian = "it";
        public const string Inuktitut = "iu";
        public const string Japanese = "ja";
        public const string Javanese = "jv";
        public const string Georgian = "ka";
        public const string Kongo = "kg";
        public const string Kikuyu = "ki";
        public const string Kwanyama = "kj";
        public const string Kazakh = "kk";
        public const string Kalaallisut = "kl";
        public const string Khmer = "km";
        public const string Kannada = "kn";
        public const string Korean = "ko";
        public const string Kanuri = "kr";
        public const string Kashmiri = "ks";
        public const string Kurdish = "ku";
        public const string Komi = "kv";
        public const string Cornish = "kw";
        public const string Kirghiz = "ky";
        public const string Latin = "la";
        public const string Luxembourgish = "lb";
        public const string Ganda = "lg";
        public const string Limburgish = "li";
        public const string Lingala = "ln";
        public const string Lao = "lo";
        public const string Lithuanian = "lt";
        public const string LubaKatanga = "lu";
        public const string Latvian = "lv";
        public const string Malagasy = "mg";
        public const string Marshallese = "mh";
        public const string Māori = "mi";
        public const string Macedonian = "mk";
        public const string Malayalam = "ml";
        public const string Mongolian = "mn";
        public const string Moldavian = "mo";
        public const string Marathi = "mr";
        public const string Malay = "ms";
        public const string Maltese = "mt";
        public const string Burmese = "my";
        public const string Nauru = "na";
        public const string NorwegianBokmål = "nb";
        public const string NorthNdebele = "nd";
        public const string Nepali = "ne";
        public const string Ndonga = "ng";
        public const string Dutch = "nl";
        public const string NorwegianNynorsk = "nn";
        public const string Norwegian = "no";
        public const string SouthNdebele = "nr";
        public const string Navajo = "nv";
        public const string Chichewa = "ny";
        public const string Occitan = "oc";
        public const string Ojibwa = "oj";
        public const string Oromo = "om";
        public const string Oriya = "or";
        public const string Ossetian = "os";
        public const string Panjabi = "pa";
        public const string Pāli = "pi";
        public const string Polish = "pl";
        public const string Pashto = "ps";
        public const string Portuguese = "pt";
        public const string Quechua = "qu";
        public const string RaetoRomance = "rm";
        public const string Kirundi = "rn";
        public const string Romanian = "ro";
        public const string Russian = "ru";
        public const string Kinyarwanda = "rw";
        public const string Sanskrit = "sa";
        public const string Sardinian = "sc";
        public const string Sindhi = "sd";
        public const string NorthernSami = "se";
        public const string Sango = "sg";
        public const string SerboCroatian = "sh";
        public const string Sinhala = "si";
        public const string Slovak = "sk";
        public const string Slovenian = "sl";
        public const string Samoan = "sm";
        public const string Shona = "sn";
        public const string Somali = "so";
        public const string Albanian = "sq";
        public const string Serbian = "sr";
        public const string Swati = "ss";
        public const string SouthernSotho = "st";
        public const string Sundanese = "su";
        public const string Swedish = "sv";
        public const string Swahili = "sw";
        public const string Tamil = "ta";
        public const string Telugu = "te";
        public const string Tajik = "tg";
        public const string Thai = "th";
        public const string Tigrinya = "ti";
        public const string Turkmen = "tk";
        public const string Tagalog = "tl";
        public const string Tswana = "tn";
        public const string Tonga = "to";
        public const string Turkish = "tr";
        public const string Tsonga = "ts";
        public const string Tatar = "tt";
        public const string Twi = "tw";
        public const string Tahitian = "ty";
        public const string Uighur = "ug";
        public const string Ukrainian = "uk";
        public const string Urdu = "ur";
        public const string Uzbek = "uz";
        public const string Venda = "ve";
        public const string Vietnamese = "vi";
        public const string Volapük = "vo";
        public const string Walloon = "wa";
        public const string Wolof = "wo";
        public const string Xhosa = "xh";
        public const string Yiddish = "yi";
        public const string Yoruba = "yo";
        public const string Zhuang = "za";
        public const string Chinese = "zh";
        public const string Zulu = "zu";
    }
}
